/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.practica.bean;

import edu.practica.dao.CotizacionDAO;
import edu.practica.model.Cotizacion;
import java.util.LinkedList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

/**
 *
 * @author Majul
 */
public class CotizacionBean {
    private Cotizacion cotizacion;    
    private List<Cotizacion> listCotizaciones;
    
    @EJB
    private CotizacionDAO cotizacionDAO;
   
   public CotizacionBean() {
        cotizacion = new Cotizacion();
        listCotizaciones = new LinkedList<Cotizacion>();
    }
   
    
    @PostConstruct
    public void init() {
        listCotizaciones = cotizacionDAO.listCotizacion();
        System.out.println("Cotizaciones consultados: " + listCotizaciones);
    }
    
    public void registrar() {
        try {
            //verificamos si ya existe 
            //si el campo ID es null, quiere decir que es nuevo y toca registrarlo
            if(cotizacion.getId() == null || cotizacion.getId().equals(0)) {
                System.out.println("Cotizacion nuevo, registrando...");
                cotizacionDAO.registar(cotizacion);
            } else {
                System.out.println("Cotizacion ya existente, modificando...");
                cotizacionDAO.modificar(cotizacion);
            }
            
            //consulto cotizacion para actualizar la lista
            listCotizaciones = cotizacionDAO.listCotizacion();
            
            //reiniciamos el pojo, para que los campos del formulario queden en blanco
            cotizacion = new Cotizacion();
            
            
        } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage(null, 
                    new FacesMessage("Error al intentar registrar cotizacion."));
            e.printStackTrace();
        }
    }
    
    public Cotizacion getCotizacion() {
        return cotizacion;
    }
     public void setCotizacion(Cotizacion Cotizacion) {
        this.cotizacion = Cotizacion;
    }

    public List<Cotizacion> getListCotizaciones() {
        return listCotizaciones;
    }

    public void setListCotizacions(List<Cotizacion> listCotizacions) {
        this.listCotizaciones = listCotizaciones;
    }
}
